// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.gson; import com.google.gson.internal.Excluder; import com.google.gson.internal.bind.TypeAdapters; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; // Referenced classes of package com.google.gson: // LongSerializationPolicy, FieldNamingPolicy, a, o, // Gson, JsonSerializer, JsonDeserializer, InstanceCreator, // TypeAdapter, FieldNamingStrategy, ExclusionStrategy, TypeAdapterFactory public final class GsonBuilder { private Excluder a; private LongSerializationPolicy b; private FieldNamingStrategy c; private final Map d = new HashMap(); private final List e = new ArrayList(); private final List f = new ArrayList(); private boolean g; private String h; private int i; private int j; private boolean k; private boolean l; private boolean m; private boolean n; private boolean o; public GsonBuilder() { a = Excluder.DEFAULT; b = LongSerializationPolicy.DEFAULT; c = FieldNamingPolicy.IDENTITY; i = 2; j = 2; m = true; } private void a(String s, int i1, int j1, List list) { if (s == null || "".equals(s.trim())) goto _L2; else goto _L1 _L1: a a1 = new a(s); _L6: list.add(com.google.gson.o.a(TypeToken.get(java/util/Date), a1)); list.add(com.google.gson.o.a(TypeToken.get(java/sql/Timestamp), a1)); list.add(com.google.gson.o.a(TypeToken.get(java/sql/Date), a1)); _L4: return; _L2: if (i1 == 2 || j1 == 2) goto _L4; else goto _L3 _L3: a1 = new a(i1, j1); if (true) goto _L6; else goto _L5 _L5: } public GsonBuilder addDeserializationExclusionStrategy(ExclusionStrategy exclusionstrategy) { a = a.withExclusionStrategy(exclusionstrategy, false, true); return this; } public GsonBuilder addSerializationExclusionStrategy(ExclusionStrategy exclusionstrategy) { a = a.withExclusionStrategy(exclusionstrategy, true, false); return this; } public Gson create() { ArrayList arraylist = new ArrayList(); arraylist.addAll(e); Collections.reverse(arraylist); arraylist.addAll(f); a(h, i, j, arraylist); return new Gson(a, c, d, g, k, o, m, n, l, b, arraylist); } public GsonBuilder disableHtmlEscaping() { m = false; return this; } public GsonBuilder disableInnerClassSerialization() { a = a.disableInnerClassSerialization(); return this; } public GsonBuilder enableComplexMapKeySerialization() { k = true; return this; } public transient GsonBuilder excludeFieldsWithModifiers(int ai[]) { a = a.withModifiers(ai); return this; } public GsonBuilder excludeFieldsWithoutExposeAnnotation() { a = a.excludeFieldsWithoutExposeAnnotation(); return this; } public GsonBuilder generateNonExecutableJson() { o = true; return this; } public GsonBuilder registerTypeAdapter(Type type, Object obj) { boolean flag; if ((obj instanceof JsonSerializer) || (obj instanceof JsonDeserializer) || (obj instanceof InstanceCreator) || (obj instanceof TypeAdapter)) { flag = true; } else { flag = false; } com.google.gson.internal..Gson.Preconditions.checkArgument(flag); if (obj instanceof InstanceCreator) { d.put(type, (InstanceCreator)obj); } if ((obj instanceof JsonSerializer) || (obj instanceof JsonDeserializer)) { TypeToken typetoken = TypeToken.get(type); e.add(com.google.gson.o.b(typetoken, obj)); } if (obj instanceof TypeAdapter) { e.add(TypeAdapters.newFactory(TypeToken.get(type), (TypeAdapter)obj)); } return this; } public GsonBuilder registerTypeAdapterFactory(TypeAdapterFactory typeadapterfactory) { e.add(typeadapterfactory); return this; } public GsonBuilder registerTypeHierarchyAdapter(Class class1, Object obj) { boolean flag; if ((obj instanceof JsonSerializer) || (obj instanceof JsonDeserializer) || (obj instanceof TypeAdapter)) { flag = true; } else { flag = false; } com.google.gson.internal..Gson.Preconditions.checkArgument(flag); if ((obj instanceof JsonDeserializer) || (obj instanceof JsonSerializer)) { f.add(0, com.google.gson.o.a(class1, obj)); } if (obj instanceof TypeAdapter) { e.add(TypeAdapters.newTypeHierarchyFactory(class1, (TypeAdapter)obj)); } return this; } public GsonBuilder serializeNulls() { g = true; return this; } public GsonBuilder serializeSpecialFloatingPointValues() { l = true; return this; } public GsonBuilder setDateFormat(int i1) { i = i1; h = null; return this; } public GsonBuilder setDateFormat(int i1, int j1) { i = i1; j = j1; h = null; return this; } public GsonBuilder setDateFormat(String s) { h = s; return this; } public transient GsonBuilder setExclusionStrategies(ExclusionStrategy aexclusionstrategy[]) { int i1 = aexclusionstrategy.length; for (int j1 = 0; j1 < i1; j1++) { ExclusionStrategy exclusionstrategy = aexclusionstrategy[j1]; a = a.withExclusionStrategy(exclusionstrategy, true, true); } return this; } public GsonBuilder setFieldNamingPolicy(FieldNamingPolicy fieldnamingpolicy) { c = fieldnamingpolicy; return this; } public GsonBuilder setFieldNamingStrategy(FieldNamingStrategy fieldnamingstrategy) { c = fieldnamingstrategy; return this; } public GsonBuilder setLongSerializationPolicy(LongSerializationPolicy longserializationpolicy) { b = longserializationpolicy; return this; } public GsonBuilder setPrettyPrinting() { n = true; return this; } public GsonBuilder setVersion(double d1) { a = a.withVersion(d1); return this; } }